// 商品模型
const { Goods, validateGoods } = require('../../../models/good');
// 统一数据返回类
const { DataReturn } = require('../../../common/returnclass');


/**
 * @api {Put} /goods 修改商品
 * @apiGroup Admin-Goods
 *
 * @apiSuccess {ObjectId} id 商品id
 * @apiParam {String} goods_cate  商品分类id
 * @apiParam {Array} goods_imgs  商品图片
 * @apiParam {String} goods_msg_price  商品销售价
 * @apiParam {String} goods_name  商品名称
 * @apiParam {String} goods_number  商品数量
 * @apiParam {String} goods_price  商品价格
 * @apiParam {String} goods_weight  商品重量
 * @apiParam {String} goods_content  商品内容
 * 
 * @apiSuccess {Number} code 状态码
 * @apiSuccess {Object} data 返回数据
 * @apiSuccess {String} msg  返回消息
 */
module.exports = async (req, res) => {
	console.log(req.fields);
	// 商品名称 商品价格 商品零售价 商品重量 商品分类id 商品参数 商品属性 商品图片 商品内容 是否热门推荐
	let {
		_id,
		goods_name,
		goods_number,
		goods_price,
		goods_msg_price,
		goods_weight,
		goods_cate,
		goods_imgs,
		goods_content
	} = req.fields;
	
	
	// 数据格式校验
	const { error } = validateGoods(req.fields);
	// 格式不符合要求
	if (error) return DataReturn.getData(res,400,[],error.message);
	// 保存商品信息
	Goods.updateOne({ _id}, req.fields)
	.then((result)=>{
		console.log('result',result);
		DataReturn.getData(res,200,[],'修改商品信息成功')
	}).catch((err)=>{
		console.log('err',err);
		DataReturn.getData(res,400,[],'修改商品信息失败')
	})
	
};